home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 43 / Amiga Format CD43 (1999)(Future Publishing)(GB)(Track 1 of 2)[!][issue 1999-09].iso / -serious- / hardware / adflib / adflibppc / lib / myconf < prev    next >
Text File  |  1999-06-14  |  1KB  |  57 lines

  1. #!/bin/sh
  2.  
  3. cat >myctest.c <<END
  4.  
  5. #include<stdio.h>
  6.  
  7. union u{
  8.     long l;
  9.     char c[4];
  10.     };
  11.  
  12.  
  13.  
  14. int main(int argc, char *argv[])
  15. {
  16.     union u val;
  17.  
  18.     printf("%d ",sizeof(long));
  19.     printf("%d ",sizeof(short));
  20.     printf("%d ",sizeof(int));
  21.     
  22.     val.l=1L;
  23.     if (val.c[3]==1)
  24.         puts("BIG");
  25.     else
  26.         puts("LITTLE");
  27. }
  28.  
  29. END
  30.  
  31. gcc myctest.c -o myctest
  32. rm myctest.c
  33.  
  34. if [ `myctest |cut -d' ' -f 1` != 4 ]
  35.     then echo "Error : sizeof(long)!=4"
  36. fi
  37. if [ `myctest |cut -d' ' -f 2` != 2 ]
  38.     then echo "Error : sizeof(short)!=2"
  39. fi
  40. if [ `myctest |cut -d' ' -f 3` != 4 ]
  41.     then echo "Error  :sizeof(int)!=4"
  42. fi
  43.  
  44. if [ `myctest |cut -d' ' -f 4` = LITTLE ]
  45.     then 
  46.     echo "#ifndef LITT_ENDIAN" >defendian.h
  47.     echo "#define LITT_ENDIAN 1" >>defendian.h 
  48.     echo "#endif /* LITT_ENDIAN */" >>defendian.h
  49.     echo Little Endian machine detected 
  50. else
  51.     echo "#ifndef LITT_ENDIAN" >defendian.h
  52.     echo "#endif /* LITT_ENDIAN */" >>defendian.h
  53.     echo Big Endian machine detected
  54. fi
  55.  
  56. rm myctest
  57.